package com.eptok.gw.szcups.socket.client.agent;


/**
 *@author:heqishan, Email:heqishan@gmail.com
 *2013-3-5 上午10:06:20
 */
public interface ClientAgent {
	/**
	 * 建立连接
	 * 
	 * @return true=成功,false=连接失败
	 */
	public boolean connect();

	/**
	 * 发送消息
	 * 
	 * @param object
	 */
	public void sendMsg(Object object);

	/**
	 * 接收消息
	 * 
	 * @return 响应消息,返回null表示连接被断开或超时
	 */
	public Object recvMsg(String key);

	/**
	 * 断开连接
	 */
	public void disconnect();

	/**
	 * 设置接收消息的超时时间(秒)
	 * 
	 * @param recvTimeout
	 */
	public void setRecvTimeout(int recvTimeout);

	/**
	 * 释放资源
	 */
	public void release();
	
	public boolean isConnected();
}
